package com.yb.guigu.pick.upload.client;

import com.yb.guigu.pick.upload.bean.MergeRequest;
import com.yb.guigu.pick.upload.bean.PutRequest;
import com.yb.guigu.pick.upload.bean.UploadRequest;
import com.yb.guigu.pick.upload.bean.UploadResponse;

/**
 * Copyright (C), 2022-2023, 姚兵
 * Author: 32210
 * Date: 2023/5/11 11:13
 * FileName: UploadClient
 * Description:
 */
public interface UploadClient {

    /**
     * 上传本地文件
     * @param uploadRequest
     * @return
     */
    UploadResponse upload(UploadRequest uploadRequest);

    /**
     * 上传文件流
     * @param putRequest
     * @return
     */
    UploadResponse put(PutRequest putRequest);


    /**
     * 合并文件
     * @param mergeRequest
     * @return
     */
    UploadResponse merge(MergeRequest mergeRequest);
}
